home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 0769A.ZIP / GOURMET.ARC / GOURMET.LOW < prev    next >
Text File  |  1983-08-22  |  33KB  |  1,757 lines

  1. *Release 1.0
  2. SET TALK OFF
  3. SET COLO OFF
  4. SET BELL OFF
  5. SET CONF ON
  6. SET EJEC OFF
  7. STOR ' ' TO PR
  8. STOR 'Invalid Input' TO INV
  9. STOR 'Press return to continue ' TO PRC
  10. IF .NOT.FILE("OPTION.MEM")
  11. STOR 'B:GOURMET.DBF ' TO DATABASE
  12. STOR 'B:TYPE.NDX    ' TO TINDEX
  13. STOR 'B:NUMBER.NDX  ' TO RINDEX
  14. STOR 'B:SHOP.DBF    ' TO FSHOP
  15. STOR 'B:TEMP.DBF    ' TO FTEMP
  16. STOR 0 TO Z
  17. ERAS
  18. DO WHILE Z=0
  19. @  1,0  SAY 'Change the Disk Drive Identifier' 
  20. @  2,8  SAY 'and/or file name'
  21. @  3,0  SAY 'for the following files:'
  22. @  5,0  GET DATABASE
  23. @  6,0  GET TINDEX
  24. @  7,0  GET RINDEX
  25. @  8,0  GET FSHOP
  26. @  9,0  GET FTEMP
  27. @  5,15 SAY 'Recipe    File'
  28. @  6,15 SAY 'Category  Index'
  29. @  7,15 SAY 'Record    Index'
  30. @  8,15 SAY 'Shopping  List File'
  31. @  9,15 SAY 'Temporary File'
  32. @ 12,0  SAY 'See Installation Section in the Manual'
  33. READ
  34. STOR !(DATABASE) TO DATABASE
  35. STOR !(TINDEX)   TO TINDEX
  36. STOR !(RINDEX)   TO RINDEX
  37. STOR !(FSHOP)    TO FSHOP
  38. STOR !(FTEMP)    TO FTEMP
  39. STOR $(DATABASE,1,1) TO DRIVE
  40. @ 20,0 SAY '                       '
  41. IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(DATABASE)
  42. @ 20,0 SAY 'Bad Recipe File'
  43. LOOP
  44. ENDI
  45. STOR $(TINDEX,1,1) TO DRIVE
  46. IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(TINDEX)
  47. @ 20,0 SAY 'Bad Category Index File'
  48. LOOP
  49. ENDI
  50. STOR $(RINDEX,1,1) TO DRIVE
  51. IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(RINDEX)
  52. @ 20,0 SAY 'Bad Record Index File'
  53. LOOP
  54. ENDI
  55. STOR $(FSHOP,1,1) TO DRIVE
  56. IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(FSHOP)
  57. @ 20,0 SAY 'Bad Shopping List File'
  58. LOOP
  59. ENDI
  60. STOR $(FTEMP,1,1) TO DRIVE
  61. IF DRIVE<'A'.OR.DRIVE>'P'
  62. @ 20,0 SAY 'Bad Temporary File'
  63. LOOP
  64. ENDI
  65. STOR 1 TO Z
  66. ENDD
  67. STOR 0 TO Z
  68. STOR 80 TO C
  69. DO WHILE Z=0
  70. ERAS
  71. @ 5,0 SAY 'Enter the number of columns ' GET C
  72. @ 6,6 SAY 'on your terminal'
  73. @ 7,4 SAY '(between 40 and 132)'
  74. READ
  75. IF C<40.OR.C>132
  76. ERAS
  77. @ 12,0 SAY INV
  78. @ 13,0 SAY PRC GET PR
  79. READ
  80. STOR ' ' TO PR
  81. LOOP
  82. ELSE
  83. STOR 1 TO Z
  84. STOR (C-52)/2 TO A
  85. USE &DATABASE INDEX &TINDEX,&RINDEX
  86. SELE SECO
  87. USE &FSHOP
  88. SELE PRIM
  89. SAVE TO OPTION
  90. ENDI
  91. ENDD
  92. ELSE
  93. REST FROM OPTION
  94. USE &DATABASE INDEX &TINDEX,&RINDEX
  95. SELE SECO
  96. USE &FSHOP
  97. SELE PRIM
  98. ENDI
  99. STOR  0  TO M1
  100. STOR '1' TO M
  101. STOR '1' TO D
  102. STOR '1' TO FM
  103. STOR '1' TO T 
  104. STOR '  Note: Category may be blank'    TO CLB
  105. STOR 'End of File'                      TO END
  106. STOR 'End of Search'                    TO ENDS
  107. STOR '                              '   TO I1
  108. STOR '                              '   TO I2
  109. STOR '                              '   TO I3
  110. STOR 'Select a number or '                  TO SNC
  111. STOR 'None found'                       TO NF
  112. STOR 'Retrieve this recipe? (Y or N) '  TO WTE
  113. STOR 'Add this recipe to shopping list? ' TO PRO
  114. STOR 'N' TO SHOP
  115. DO WHILE M1=0
  116. STOR 0 TO M2
  117. STOR 0 TO M3
  118. STOR 0 TO M4
  119. ERAS
  120. @  3,A+15 SAY 'microGOURMET Main Menu'
  121. @  5,A+15 SAY '1 Find Recipes'
  122. @  6,A+15 SAY '2 Prepare Shopping List'
  123. @  7,A+15 SAY '3 Perform Data Base Maintenance'
  124. @  8,A+15 SAY '4 Change to Another Recipe Disk'
  125. @  9,A+15 SAY '5 Exit to Operating System'
  126. @ 10,A+15 SAY '6 Exit to dBASE'
  127. @ 12,A+10 SAY 'Enter the number of your choice ' GET M
  128. @ 13,A+10 SAY '     or enter ? for help'
  129. READ
  130. IF (M<'1'.OR.M>'6').AND.M<>'?'
  131. ERAS
  132. @ 12,A+19 SAY INV
  133. @ 13,A+13 SAY PRC GET PR
  134. READ
  135. STOR ' ' TO PR
  136. LOOP
  137. ENDI
  138. IF M='4'
  139. ERAS
  140. USE
  141. @ 12,A+9 SAY 'Change Disk(s), then Press Return' GET PR
  142. READ
  143. STOR ' ' TO PR
  144. ERAS
  145. @ 12,A+10 SAY 'This will work only with CP/M'
  146. @ 18,0   SAY ' '
  147. QUIT TO 'DBASE GOURMET'
  148. ENDI
  149. IF M='5'
  150. ERAS
  151. QUIT
  152. ENDI
  153. IF M='6'
  154. ERAS
  155. USE
  156. SET TALK ON
  157. SET COLO ON
  158. SET BELL ON
  159. SET CONF OFF
  160. SET EJEC ON
  161. RETU
  162. ENDI
  163. IF M='?'
  164. ERAS
  165. @  1,A+6 SAY '           microGOURMET Help'
  166. @  2,A+6 SAY 'This is the main menu.  The choices here'
  167. @  3,A+6 SAY 'are as follows:'
  168. @  5,A+6 SAY '1 - Display the menu of recipe retrieval' 
  169. @  6,A+6 SAY '    options (more help is available)'
  170. @  8,A+6 SAY '2 - Build a shopping list while browsing '
  171. @  9,A+6 SAY '    through the data base.  You must use '
  172. @ 10,A+6 SAY '    this option before using option 1.'
  173. @ 12,A+6 SAY '3 - Add, change or delete recipes.'
  174. @ 14,A+6 SAY '4 - Restart  the  program  with  another'
  175. @ 15,A+6 SAY '    program and/or recipe disk.   (Works' 
  176. @ 16,A+6 SAY '    dBASE II version 2.3 and CP/M only.)'
  177. @ 18,A+6 SAY '5 - Exit  the program and return to  the' 
  178. @ 19,A+6 SAY '    operating system, for the > prompt.'
  179. @ 21,A+6 SAY '6 - Exit  the program and remain  within'
  180. @ 22,A+6 SAY '    dBASE II, for the . prompt.'
  181. @ 23,A+6 SAY PRC GET PR
  182. READ
  183. STOR ' ' TO PR
  184. LOOP
  185. ENDI
  186. IF M<>'2'
  187. ERAS
  188. @ 12,A+16 SAY 'One Moment Please...'
  189. ENDI
  190. DO CASE
  191. CASE M='2'
  192. STOR '1' TO T
  193. STOR  0  TO M9
  194. DO WHILE M9=0
  195. ERAS
  196. @  3,A+13 SAY 'microGOURMET Shopping List'
  197. @  5,A+18 SAY '1 Compile List'
  198. @  6,A+18 SAY '2 Print   List'
  199. @  7,A+18 SAY '3 Display List'
  200. @  9,A+10 SAY 'Enter the number of your choice ' GET T
  201. @ 10,A+10 SAY '     or enter ? for help'
  202. @ 11,A+10 SAY '  or enter 0 for previous menu'
  203. READ
  204. IF (T<'0'.OR.T>'3').AND.T<>'?'
  205. ERAS
  206. @ 12,A+19 SAY INV
  207. @ 13,A+13 SAY PRC GET PR
  208. READ
  209. STOR ' ' TO PR
  210. LOOP
  211. ENDI
  212. IF T='0'
  213. ERAS
  214. @ 12,A+16 SAY 'One Moment Please...'
  215. STOR 1 TO M9
  216. LOOP
  217. ENDI
  218. IF T='?'
  219. ERAS
  220. @  1,A+6 SAY '           microGOURMET Help'
  221. @  2,A+6 SAY 'This is the shopping list menu.  Choices'
  222. @  3,A+6 SAY 'are as follows:'
  223. @  5,A+6 SAY '1 - Compile  a  shopping list of  recipe' 
  224. @  6,A+6 SAY '    ingredients while  browsing  through'
  225. @  7,A+6 SAY '    the data  base.  Recipes you  select' 
  226. @  8,A+6 SAY '    will be added to the list.  You must'
  227. @  9,A+6 SAY '    use this  option  before option 1 on'
  228. @ 10,A+6 SAY '    on the main menu.'
  229. @ 12,A+6 SAY '2 - Print the list after compiling it.'
  230. @ 14,A+6 SAY '3 - Display the list after compiling it.'
  231. @ 16,A+6 SAY 'After printing or displaying  the  list,' 
  232. @ 17,A+6 SAY 'you may delete it if you have no further'
  233. @ 18,A+6 SAY 'need for it.  Be careful - you  may  run' 
  234. @ 19,A+6 SAY 'out of space on the disk if you  build a'
  235. @ 20,A+6 SAY 'a big list, or if you have limited  disk'
  236. @ 21,A+6 SAY 'capacity.'
  237. @ 23,A+6 SAY PRC GET PR
  238. READ
  239. STOR ' ' TO PR
  240. LOOP
  241. ENDI
  242. IF T='1'
  243. STOR 'Y' TO SHOP
  244. LOOP
  245. ELSE
  246. SELE SECO
  247. STOR 0 TO I
  248. IF T='2'
  249. ERASE
  250. @ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
  251. READ
  252. STOR ' ' TO PR
  253. SET PRINT ON
  254. ENDI
  255. GOTO TOP
  256. DO WHILE .NOT.EOF
  257. ERAS
  258. IF T='2'
  259. ? '--------------------------------------'
  260. ELSE
  261. ? ' '
  262. ENDI
  263. ? 'Name-----',NAME
  264. ? ' '
  265. ? ITEM1
  266. ? ITEM2
  267. ? ITEM3
  268. ? ITEM4
  269. ? ITEM5
  270. ? ITEM6
  271. ? ITEM7
  272. ? ITEM8
  273. ? ITEM9
  274. ? ITEM10
  275. ? ITEM11
  276. ? ITEM12
  277. ? ITEM13
  278. ? ITEM14
  279. ? ITEM15
  280. SKIP
  281. STOR I+18 TO I
  282. IF T='3'
  283. @ 22,0 SAY PRC GET PR
  284. READ
  285. STOR ' ' TO PR
  286. ELSE
  287. IF I>53
  288. EJEC
  289. ERAS
  290. IF .NOT.EOF
  291. @ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
  292. READ
  293. STOR ' ' TO PR
  294. STOR 0 TO I
  295. ENDI
  296. ENDI
  297. ENDI
  298. ENDD
  299. IF I>0
  300. EJEC
  301. ENDI
  302. SET PRINT OFF
  303. ERAS
  304. STOR 'Y' TO PR
  305. @ 12,A+12 SAY 'Delete Shopping List File? ' GET PR
  306. READ
  307. IF !(PR)='Y'
  308. ERAS
  309. @ 12,A+16 SAY 'One Moment Please...'
  310. STOR 'N' TO SHOP
  311. USE
  312. USE &FSHOP
  313. COPY STRU TO &FTEMP
  314. USE &FTEMP
  315. DELETE FILE &FSHOP
  316. USE
  317. RENA &FTEMP TO &FSHOP
  318. *ACCOMMODATES DBASE BUG
  319. USE
  320. USE
  321. USE
  322. USE
  323. USE
  324. USE
  325. USE
  326. USE
  327. USE
  328. USE
  329. ENDI
  330. STOR ' ' TO PR
  331. USE &DATABASE INDEX &TINDEX,&RINDEX
  332. SELE SECO
  333. USE &FSHOP
  334. SELE PRIM
  335. ENDI
  336. ENDD
  337. CASE M='1'
  338. STOR 0 TO M2
  339. DO WHILE M2=0
  340. ERAS
  341. @  3,A+8  SAY 'microGOURMET Recipe Retrieval Menu'
  342. @  5,A+13 SAY 'Find Recipes by:'
  343. @  7,A+13 SAY '1 Category'
  344. @  8,A+13 SAY '2 Category & Name'
  345. @  9,A+13 SAY '3 Category & Ingredients'
  346. @ 10,A+13 SAY '4 Category & Preparation Time'    
  347. @ 12,A+10 SAY 'Enter the number of your choice ' GET D
  348. @ 13,A+10 SAY '     or enter ? for help'
  349. @ 14,A+10 SAY '  or enter 0 for previous menu'
  350. READ
  351. IF (D<'0'.OR.D>'4').AND.D<>'?'
  352. ERAS
  353. @ 12,A+19 SAY INV
  354. @ 13,A+13 SAY PRC GET PR
  355. READ
  356. STOR ' ' TO PR
  357. LOOP
  358. ENDI
  359. IF D='?'
  360. ERAS
  361. @  1,A+6 SAY '           microGOURMET Help'
  362. @  2,A+6 SAY 'This is the menu for  recipe  retrieval.'
  363. @  3,A+6 SAY 'Your choices are as follows: (see NOTE)'
  364. @  5,A+6 SAY '1 - Category  retrieval only.   You will' 
  365. @  6,A+6 SAY '    pick a  category  by  number and the'
  366. @  7,A+6 SAY '    text of recipe(s) will be retrieved.'
  367. @  8,A+6 SAY '    This continues until you stop it.'
  368. @ 10,A+6 SAY '2 - Category  and name  retrieval.  Only'
  369. @ 11,A+6 SAY '    the recipe  names  and  numbers will'
  370. @ 12,A+6 SAY '    be  displayed.  You  pick  one to be' 
  371. @ 13,A+6 SAY '    be retrieved. (Faster than option 1)'
  372. @ 15,A+6 SAY '3 - Category and ingedient retrieval. In' 
  373. @ 16,A+6 SAY '    addition to category, you may  enter'
  374. @ 17,A+6 SAY '    one to three ingredients.  Recipe(s)'
  375. @ 18,A+6 SAY '    which match will be retrieved.'
  376. @ 20,A+6 SAY '<<<more on next page>>>'
  377. @ 21,A+6 SAY PRC GET PR
  378. READ
  379. STOR ' ' TO PR
  380. ERAS
  381. @  1,A+6 SAY '           microGOURMET Help'
  382. @  3,A+6 SAY '4 - Category   and    preparation   time'
  383. @  4,A+6 SAY '    retrieval.  Recipes whose  prep time'
  384. @  5,A+6 SAY '    (start to finish) is  less  than  or'
  385. @  6,A+6 SAY '    equal to the  number of  minutes you'
  386. @  7,A+6 SAY '    enter will be retrieved.'
  387. @  9,A+6 SAY 'NOTE - After  you  pick a number on this'
  388. @ 10,A+6 SAY 'menu, you will have a choice of printing'
  389. @ 11,A+6 SAY 'or  displaying  recipe text (only).  All'
  390. @ 12,A+6 SAY 'menus  which  appear  next will list the'
  391. @ 13,A+6 SAY 'recipe categories.'
  392. @ 15,A+6 SAY PRC GET PR
  393. READ
  394. STOR ' ' TO PR
  395. LOOP
  396. ENDI
  397. IF D='0'
  398. ERAS
  399. @ 12,A+16 SAY 'One Moment Please...'
  400. STOR 1  TO M2
  401. LOOP
  402. ENDI
  403. STOR 'D' TO O
  404. STOR  0  TO O1
  405. DO WHILE O1=0
  406. ERAS
  407. @ 12,A+17 SAY 'Display or Print  ' GET O
  408. @ 13,A+17 SAY 'Selected Recipes?'
  409. @ 14,A+17 SAY '    (D or P)'
  410. READ
  411. STOR !(O) TO O
  412. IF O='D'.OR.O='P'
  413. STOR 1 TO O1
  414. LOOP
  415. ELSE
  416. ERAS
  417. @ 12,A+19 SAY INV
  418. @ 13,A+13 SAY PRC GET PR
  419. READ
  420. STOR ' ' TO PR
  421. LOOP
  422. ENDI
  423. ENDD
  424. ERAS
  425. @ 12,A+16 SAY 'One Moment Please...'
  426. IF D='1'
  427. STOR 0 TO M3
  428. DO WHILE M3=0
  429. ERAS
  430. @ 1,A+10  SAY ' Recipe Selection by Category'
  431. @ 3,A+10  SAY 'microGOURMET Recipe Categories'
  432. @ 5,A+18  SAY '1 Appetizers'
  433. @ 6,A+18  SAY '2 Salads'
  434. @ 7,A+18  SAY '3 Main Dishes'
  435. @ 8,A+18  SAY '4 Vegetable Dishes'
  436. @ 9,A+18  SAY '5 Breads'
  437. @ 10,A+18 SAY '6 Desserts'
  438. @ 11,A+18 SAY '7 Cookies'
  439. @ 13,A+10 SAY 'Enter the number of your choice ' GET T
  440. @ 14,A+10 SAY '  or enter 0 for previous menu'
  441. @ 16,A+10 SAY CLB
  442. READ
  443. IF (T<'0'.OR.T>'7').AND.T<>' '
  444. ERAS
  445. @ 12,A+19 SAY INV
  446. @ 13,A+13 SAY PRC GET PR
  447. READ
  448. STOR ' ' TO PR
  449. LOOP
  450. ENDI
  451. IF T='0'
  452. ERAS
  453. @ 12,A+16 SAY 'One Moment Please...'
  454. STOR 1 TO M3
  455. LOOP
  456. ENDI
  457. IF T<>' '
  458. FIND &T
  459. STOR ' ' TO K
  460. IF #=0
  461. ERAS
  462. @ 12,A+13 SAY NF  GET K
  463. @ 13,A+13 SAY PRC
  464. READ
  465. STOR ' ' TO K
  466. LOOP
  467. ENDI
  468. ELSE
  469. GOTO TOP
  470. ENDI
  471. STOR 'Y' TO C
  472. DO WHILE !(C)='Y'
  473. IF .NOT.EOF
  474. STOR 'Y' TO PRA
  475. ERAS
  476. IF !(O) = 'D'
  477. SET FORM TO SCRE
  478. STOR -23 TO F 
  479. ELSE
  480. STOR ' ' TO PR
  481. @ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
  482. READ
  483. STOR ' ' TO PR
  484. STOR 0 TO F
  485. SET FORM TO PRIN
  486. ENDI
  487. @  0,0  SAY 'Record #' 
  488. @  0,10 SAY #
  489. @  1,0  SAY 'Category'
  490. IF TYPE = 1
  491. @  1,10 SAY '1 Appetizers'
  492. ENDI
  493. IF TYPE = 2
  494. @  1,10 SAY '2 Salads'
  495. ENDI
  496. IF TYPE = 3
  497. @  1,10 SAY '3 Main Dishes'
  498. ENDI
  499. IF TYPE = 4
  500. @  1,10 SAY '4 Vegetable Dishes'
  501. ENDI
  502. IF TYPE = 5
  503. @  1,10 SAY '5 Breads'
  504. ENDI
  505. IF TYPE = 6
  506. @  1,10 SAY '6 Desserts'
  507. ENDI
  508. IF TYPE = 7
  509. @  1,10 SAY '7 Cookies'
  510. ENDI
  511. @  2,0   SAY 'Name' 
  512. @  2,10  SAY  NAME
  513. @  3,0   SAY 'Remarks' 
  514. @  3,10  SAY  REMARKS
  515. @  5,0   SAY 'Ingredients'
  516. @  7,A+6 SAY  ITEM1
  517. @  8,A+6 SAY  ITEM2
  518. @  9,A+6 SAY  ITEM3
  519. @ 10,A+6 SAY  ITEM4
  520. @ 11,A+6 SAY  ITEM5
  521. @ 12,A+6 SAY  ITEM6
  522. @ 13,A+6 SAY  ITEM7
  523. @ 14,A+6 SAY  ITEM8
  524. @ 15,A+6 SAY  ITEM9
  525. @ 16,A+6 SAY  ITEM10
  526. @ 17,A+6 SAY  ITEM11
  527. @ 18,A+6 SAY  ITEM12
  528. @ 19,A+6 SAY  ITEM13
  529. @ 20,A+6 SAY  ITEM14
  530. @ 21,A+6 SAY  ITEM15
  531. IF !(O)='D'
  532. @ 23,0  SAY PRC GET PR
  533. READ
  534. ERAS
  535. ENDI
  536. @ F+23,0   SAY 'Instructions' 
  537. @ F+25,A+6 SAY  INSTRUCT1
  538. @ F+26,A+6 SAY  INSTRUCT2
  539. @ F+27,A+6 SAY  INSTRUCT3
  540. @ F+28,A+6 SAY  INSTRUCT4
  541. @ F+29,A+6 SAY  INSTRUCT5
  542. @ F+30,A+6 SAY  INSTRUCT6
  543. @ F+31,A+6 SAY  INSTRUCT7
  544. @ F+32,A+6 SAY  INSTRUCT8
  545. @ F+33,A+6 SAY  INSTRUCT9
  546. @ F+34,A+6 SAY  INSTRUCT10
  547. @ F+36,0   SAY 'Preparation Time'
  548. @ F+37,0   SAY '(Minutes)'
  549. @ F+37,11  SAY  PREPTIME 
  550. @ F+39,0   SAY 'Serving Hints'
  551. @ F+40,A+6 SAY  HINT1
  552. @ F+41,A+6 SAY  HINT2
  553. IF !(O)='D'
  554. IF SHOP='Y'
  555. @ 23,0  SAY PRO GET PRA
  556. ELSE
  557. @ 23,0  SAY PRC GET PR
  558. ENDI
  559. READ
  560. STOR ' ' TO PR
  561. ENDI
  562. IF !(O)='P'
  563. EJECT
  564. SET FORM TO SCRE
  565. IF SHOP='Y'
  566. ERAS
  567. @ 12,A+9  SAY PRO GET PRA
  568. READ
  569. ENDI
  570. ENDI
  571. ERAS
  572. IF !(SHOP)='Y'.AND.!(PRA)='Y'
  573. SELE SECO
  574. APPE BLANK
  575. REPL S.NAME   WITH P.NAME
  576. REPL S.ITEM1  WITH P.ITEM1
  577. REPL S.ITEM2  WITH P.ITEM2
  578. REPL S.ITEM3  WITH P.ITEM3
  579. REPL S.ITEM4  WITH P.ITEM4
  580. REPL S.ITEM5  WITH P.ITEM5
  581. REPL S.ITEM6  WITH P.ITEM6
  582. REPL S.ITEM7  WITH P.ITEM7
  583. REPL S.ITEM8  WITH P.ITEM8
  584. REPL S.ITEM9  WITH P.ITEM9
  585. REPL S.ITEM10 WITH P.ITEM10
  586. REPL S.ITEM11 WITH P.ITEM11
  587. REPL S.ITEM12 WITH P.ITEM12
  588. REPL S.ITEM13 WITH P.ITEM13
  589. REPL S.ITEM14 WITH P.ITEM14
  590. REPL S.ITEM15 WITH P.ITEM15
  591. SELE PRIM
  592. ENDI
  593. ENDI
  594. SKIP
  595. IF T<>' '
  596. IF TYPE<>VAL(T).OR.EOF
  597. ERAS
  598. @ 12,A+13 SAY ENDS
  599. @ 13,A+13 SAY PRC GET PR
  600. READ
  601. STOR ' ' TO PR
  602. ERAS
  603. STOR 'N' TO C
  604. LOOP
  605. ENDI
  606. ELSE
  607. IF EOF
  608. ERAS
  609. @ 12,A+13 SAY END
  610. @ 13,A+13 SAY PRC GET PR
  611. READ
  612. STOR ' ' TO PR
  613. ERAS
  614. STOR 'N' TO C
  615. LOOP
  616. ENDI
  617. ENDI
  618. STOR 'Y' TO CS
  619. STOR  0  TO O1
  620. DO WHILE O1=0
  621. ERAS
  622. @ 12,A+15 SAY 'Continue Searching? ' GET CS
  623. @ 13,A+15 SAY '     (Y or N)'
  624. READ
  625. ERAS
  626. IF !(CS)<>'N'.AND.!(CS)<>'Y'
  627. ERAS
  628. @ 12,A+19 SAY INV
  629. @ 13,A+13 SAY PRC GET PR
  630. READ
  631. STOR ' ' TO PR
  632. ERAS
  633. LOOP
  634. ELSE
  635. STOR  1  TO O1
  636. LOOP
  637. ENDI
  638. ENDD
  639. IF !(CS)='N'
  640. STOR 'N' TO C
  641. ENDI
  642. ENDD
  643. ENDD
  644. ENDI
  645. IF D='2'
  646. STOR 0 TO M5
  647. DO WHILE M5=0
  648. ERAS
  649. @  1,A+8  SAY 'Recipe Selection by Category & Name'
  650. @  3,A+10 SAY 'microGOURMET Recipe Categories'
  651. @  5,A+18 SAY '1 Appetizers'
  652. @  6,A+18 SAY '2 Salads'
  653. @  7,A+18 SAY '3 Main Dishes'
  654. @  8,A+18 SAY '4 Vegetable Dishes'
  655. @  9,A+18 SAY '5 Breads'
  656. @ 10,A+18 SAY '6 Desserts'
  657. @ 11,A+18 SAY '7 Cookies'
  658. @ 13,A+10 SAY 'Enter the number of your choice ' GET T
  659. @ 14,A+10 SAY '  or enter 0 for previous menu'
  660. @ 17,A+10 SAY CLB
  661. READ
  662. IF (T<'0'.OR.T>'7').AND.T<>' '
  663. ERAS
  664. @ 12,A+19 SAY INV
  665. @ 13,A+13 SAY PRC GET PR
  666. READ
  667. STOR ' ' TO PR
  668. LOOP
  669. ENDI
  670. IF T='0'
  671. ERAS
  672. @ 12,A+16 SAY 'One Moment Please...'
  673. STOR 1 TO M5
  674. LOOP
  675. ENDI
  676. STOR 0 TO HIT
  677. ERAS
  678. STOR 'Y' TO C
  679. IF T<>' '
  680. FIND &T
  681. STOR ' ' TO K
  682. IF #=0
  683. ERAS
  684. @ 12,A+13 SAY NF  GET K
  685. @ 13,A+13 SAY PRC
  686. READ
  687. STOR ' ' TO K
  688. LOOP
  689. ENDI
  690. ELSE
  691. GOTO TOP
  692. ENDI
  693. DO WHILE !(C)='Y'
  694. STOR 1 TO I
  695. DO WHILE I<21.AND.(TYPE=VAL(T).OR.T=' ').AND..NOT.EOF
  696. ? STR(#,3),NAME
  697. STOR 1 TO HIT
  698. SKIP
  699. STOR I+1 TO I
  700. ENDD  
  701. STOR 1 TO I
  702. STOR 0 TO K1
  703. IF T<>' '.AND.TYPE<>VAL(T).AND.HIT=0
  704. ERAS
  705. @ 12,A+13 SAY ENDS
  706. @ 13,A+13 SAY PRC GET PR
  707. READ
  708. STOR 'N' TO C
  709. STOR ' ' TO PR
  710. ERAS
  711. ELSE
  712. IF HIT=1
  713. @ 22,0 SAY SNC GET K1
  714. @ 23,0 SAY PRC
  715. ELSE
  716. ERAS
  717. @ 12,A+13 SAY NF  GET K
  718. @ 13,A+13 SAY PRC
  719. ENDI
  720. READ
  721. IF K1=0
  722. IF HIT=1
  723. ERAS
  724. STOR 'Y' TO CS
  725. STOR  0 TO O1
  726. DO WHILE O1=0
  727. ERAS
  728. @ 12,A+15 SAY 'Continue Searching? ' GET CS
  729. @ 13,A+15 SAY '     (Y or N)'
  730. READ
  731. ERAS
  732. IF !(CS)<>'N'.AND !(CS)<>'Y'
  733. ERAS
  734. @ 12,A+19 SAY INV
  735. @ 13,A+13 SAY PRC GET PR
  736. READ
  737. STOR ' ' TO PR
  738. ERAS
  739. LOOP
  740. ELSE
  741. STOR 1 TO O1
  742. ENDI
  743. ENDD
  744. IF !(CS)='N'
  745. STOR 'N' TO C
  746. ENDI
  747. ENDI
  748. ELSE
  749. SET INDEX TO &RINDEX
  750. STOR 0 TO Z
  751. DO WHILE Z=0
  752. STOR STR(K1,5) TO K2
  753. FIND &K2
  754. IF #=0
  755. @ 21,0 SAY 'Recipe Not Found'
  756. @ 22,0 SAY 'Select a number    ' GET K1
  757. @ 23,0 SAY '                                        '
  758. READ
  759. LOOP
  760. ELSE
  761. STOR 1 TO Z
  762. LOOP
  763. ENDI
  764. ENDD
  765. STOR 'Y' TO PRA
  766. ERAS
  767. IF !(O) = 'D'
  768. SET FORM TO SCRE
  769. STOR -23 TO F 
  770. ELSE
  771. STOR ' ' TO PR
  772. @ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
  773. READ
  774. STOR ' ' TO PR
  775. STOR 0 TO F
  776. SET FORM TO PRIN
  777. ENDI
  778. @  0,0  SAY 'Record #' 
  779. @  0,10 SAY #
  780. @  1,0  SAY 'Category'
  781. IF TYPE = 1
  782. @  1,10 SAY '1 Appetizers'
  783. ENDI
  784. IF TYPE = 2
  785. @  1,10 SAY '2 Salads'
  786. ENDI
  787. IF TYPE = 3
  788. @  1,10 SAY '3 Main Dishes'
  789. ENDI
  790. IF TYPE = 4
  791. @  1,10 SAY '4 Vegetable Dishes'
  792. ENDI
  793. IF TYPE = 5
  794. @  1,10 SAY '5 Breads'
  795. ENDI
  796. IF TYPE = 6
  797. @  1,10 SAY '6 Desserts'
  798. ENDI
  799. IF TYPE = 7
  800. @  1,10 SAY '7 Cookies'
  801. ENDI
  802. @  2,0   SAY 'Name' 
  803. @  2,10  SAY  NAME
  804. @  3,0   SAY 'Remarks' 
  805. @  3,10  SAY  REMARKS
  806. @  5,0   SAY 'Ingredients'
  807. @  7,A+6 SAY  ITEM1
  808. @  8,A+6 SAY  ITEM2
  809. @  9,A+6 SAY  ITEM3
  810. @ 10,A+6 SAY  ITEM4
  811. @ 11,A+6 SAY  ITEM5
  812. @ 12,A+6 SAY  ITEM6
  813. @ 13,A+6 SAY  ITEM7
  814. @ 14,A+6 SAY  ITEM8
  815. @ 15,A+6 SAY  ITEM9
  816. @ 16,A+6 SAY  ITEM10
  817. @ 17,A+6 SAY  ITEM11
  818. @ 18,A+6 SAY  ITEM12
  819. @ 19,A+6 SAY  ITEM13
  820. @ 20,A+6 SAY  ITEM14
  821. @ 21,A+6 SAY  ITEM15
  822. IF !(O)='D'
  823. @ 23,0  SAY PRC GET PR
  824. READ
  825. ERAS
  826. ENDI
  827. @ F+23,0   SAY 'Instructions' 
  828. @ F+25,A+6 SAY  INSTRUCT1
  829. @ F+26,A+6 SAY  INSTRUCT2
  830. @ F+27,A+6 SAY  INSTRUCT3
  831. @ F+28,A+6 SAY  INSTRUCT4
  832. @ F+29,A+6 SAY  INSTRUCT5
  833. @ F+30,A+6 SAY  INSTRUCT6
  834. @ F+31,A+6 SAY  INSTRUCT7
  835. @ F+32,A+6 SAY  INSTRUCT8
  836. @ F+33,A+6 SAY  INSTRUCT9
  837. @ F+34,A+6 SAY  INSTRUCT10
  838. @ F+36,0   SAY 'Preparation Time'
  839. @ F+37,0   SAY '(Minutes)'
  840. @ F+37,11  SAY  PREPTIME 
  841. @ F+39,0   SAY 'Serving Hints'
  842. @ F+40,A+6 SAY  HINT1
  843. @ F+41,A+6 SAY  HINT2
  844. IF !(O)='D'
  845. IF SHOP='Y'
  846. @ 23,0  SAY PRO GET PRA
  847. ELSE
  848. @ 23,0  SAY PRC GET PR
  849. ENDI
  850. READ
  851. STOR ' ' TO PR
  852. ENDI
  853. IF !(O)='P'
  854. EJECT
  855. SET FORM TO SCRE
  856. IF SHOP='Y'
  857. ERAS
  858. @ 12,A+9  SAY PRO GET PRA
  859. READ
  860. ENDI
  861. ENDI
  862. ERAS
  863. IF !(SHOP)='Y'.AND.!(PRA)='Y'
  864. SELE SECO
  865. APPE BLANK
  866. REPL S.NAME   WITH P.NAME
  867. REPL S.ITEM1  WITH P.ITEM1
  868. REPL S.ITEM2  WITH P.ITEM2
  869. REPL S.ITEM3  WITH P.ITEM3
  870. REPL S.ITEM4  WITH P.ITEM4
  871. REPL S.ITEM5  WITH P.ITEM5
  872. REPL S.ITEM6  WITH P.ITEM6
  873. REPL S.ITEM7  WITH P.ITEM7
  874. REPL S.ITEM8  WITH P.ITEM8
  875. REPL S.ITEM9  WITH P.ITEM9
  876. REPL S.ITEM10 WITH P.ITEM10
  877. REPL S.ITEM11 WITH P.ITEM11
  878. REPL S.ITEM12 WITH P.ITEM12
  879. REPL S.ITEM13 WITH P.ITEM13
  880. REPL S.ITEM14 WITH P.ITEM14
  881. REPL S.ITEM15 WITH P.ITEM15
  882. SELE PRIM
  883. ENDI
  884. SET INDEX TO &TINDEX
  885. STOR 'Y' TO CS
  886. STOR  0  TO O1
  887. DO WHILE O1=0
  888. ERAS
  889. @ 12,A+15 SAY 'Continue Searching? ' GET CS
  890. @ 13,A+15 SAY '     (Y or N)'
  891. READ
  892. ERAS
  893. IF !(CS)<>'N'.AND !(CS)<>'Y'
  894. ERAS
  895. @ 12,A+19 SAY INV
  896. @ 13,A+13 SAY PRC GET PR
  897. READ
  898. STOR ' ' TO PR
  899. ERAS
  900. LOOP
  901. ELSE
  902. STOR 1 TO O1
  903. LOOP
  904. ENDI
  905. ENDD
  906. IF !(CS)='N'
  907. STOR 'N' TO C
  908. ELSE
  909. IF T<>' '
  910. FIND &T
  911. ELSE
  912. GOTO TOP
  913. ENDI
  914. ENDI
  915. ENDI
  916. IF EOF.AND.HIT=1
  917. ERAS
  918. @ 12,A+13 SAY END
  919. @ 13,A+13 SAY PRC GET PR
  920. READ
  921. STOR ' ' TO PR
  922. ERAS
  923. STOR 'N' TO C
  924. STOR '0' TO T
  925. ENDI
  926. IF HIT=0
  927. STOR 'N' TO C
  928. ENDI
  929. STOR 0 TO HIT
  930. ENDI
  931. ENDD
  932. ENDD
  933. ENDI
  934. IF D='3'
  935. STOR 0 TO M6
  936. DO WHILE M6=0
  937. ERAS
  938. @  1,A+16 SAY 'Recipe Selection by'
  939. @  2,A+14 SAY 'Category & Ingredients'
  940. @  4,A+10 SAY 'microGOURMET Recipe Categories'
  941. @  6,A+18 SAY '1 Appetizers'
  942. @  7,A+18 SAY '2 Salads'
  943. @  8,A+18 SAY '3 Main Dishes'
  944. @  9,A+18 SAY '4 Vegetable Dishes'
  945. @ 10,A+18 SAY '5 Breads'
  946. @ 11,A+18 SAY '6 Desserts'
  947. @ 12,A+18 SAY '7 Cookies'
  948. @ 14,A+10 SAY 'Enter the number of your choice ' GET T
  949. @ 15,A+10 SAY '  or enter 0 for previous menu'
  950. @ 18,A+10 SAY CLB
  951. READ
  952. IF (T<'0'.OR.T>'7').AND.T<>' '
  953. ERAS
  954. @ 12,A+19 SAY INV
  955. @ 13,A+13 SAY PRC GET PR
  956. READ
  957. STOR ' ' TO PR
  958. LOOP
  959. ENDI
  960. IF T='0'
  961. ERAS
  962. @ 12,A+16 SAY 'One Moment Please...'
  963. STOR 1 TO M6
  964. LOOP
  965. ENDI
  966. IF T<>' '
  967. FIND &T
  968. STOR ' ' TO K
  969. IF #=0
  970. ERAS
  971. @ 12,A+13 SAY NF  GET K
  972. @ 13,A+13 SAY PRC
  973. READ
  974. STOR ' ' TO K
  975. LOOP
  976. ENDI
  977. ELSE
  978. GOTO TOP
  979. ENDI
  980. ERAS
  981. @  8,A+13 SAY 'Enter 1 to 3 Ingredients'
  982. @ 10,0    SAY 'First?  ' GET I1
  983. @ 14,A+12 SAY 'To return to previous menu'
  984. @ 15,A+13 SAY 'blank the 1st ingredient'
  985. READ
  986. IF I1=' '
  987. LOOP
  988. ENDI
  989. @ 11,0 SAY 'Second? ' GET I2
  990. READ
  991. @ 12,0 SAY 'Third?  ' GET I3
  992. READ
  993. ERAS
  994. STOR 0 TO HIT
  995. ERAS
  996. STOR 'Y' TO C
  997. DO WHILE !(C)='Y'
  998. STOR 1 TO I
  999. DO WHILE I<21.AND.(TYPE=VAL(T).OR.T=' ').AND..NOT.EOF
  1000. @  7,A+11   SAY 'This may take several minutes,'
  1001. @  8,A+11   SAY ' depending on the number of'
  1002. @  9,A+11   SAY '    ingredients entered'
  1003. @ 12,A+11   SAY '       Searching ...'
  1004. STOR 0 TO OK
  1005. STOR 0 TO F1
  1006. STOR 0 TO F2
  1007. STOR 0 TO F3
  1008. STOR !(TRIM(I1)) TO VAR
  1009. STOR 0 TO OK
  1010. IF !(ITEM1)=VAR
  1011. STOR 1 TO OK
  1012. ENDI
  1013. IF !(ITEM2)=VAR
  1014. STOR 1 TO OK
  1015. ENDI
  1016. IF !(ITEM3)=VAR
  1017. STOR 1 TO OK
  1018. ENDI
  1019. IF !(ITEM4)=VAR
  1020. STOR 1 TO OK
  1021. ENDI
  1022. IF !(ITEM5)=VAR
  1023. STOR 1 TO OK
  1024. ENDI
  1025. IF !(ITEM6)=VAR
  1026. STOR 1 TO OK
  1027. ENDI
  1028. IF !(ITEM7)=VAR
  1029. STOR 1 TO OK
  1030. ENDI
  1031. IF !(ITEM8)=VAR
  1032. STOR 1 TO OK
  1033. ENDI
  1034. IF !(ITEM9)=VAR
  1035. STOR 1 TO OK
  1036. ENDI
  1037. IF !(ITEM10)=VAR
  1038. STOR 1 TO OK
  1039. ENDI
  1040. IF !(ITEM11)=VAR
  1041. STOR 1 TO OK
  1042. ENDI
  1043. IF !(ITEM12)=VAR
  1044. STOR 1 TO OK
  1045. ENDI
  1046. IF !(ITEM13)=VAR
  1047. STOR 1 TO OK
  1048. ENDI
  1049. IF !(ITEM14)=VAR
  1050. STOR 1 TO OK
  1051. ENDI
  1052. IF !(ITEM15)=VAR
  1053. STOR 1 TO OK
  1054. ENDI
  1055. STOR OK TO F1
  1056. IF $(I2,1,1)=' '
  1057. STOR 1 TO F2
  1058. ELSE
  1059. STOR !(TRIM(I2)) TO VAR
  1060. STOR 0 TO OK
  1061. IF !(ITEM1)=VAR
  1062. STOR 1 TO OK
  1063. ENDI
  1064. IF !(ITEM2)=VAR
  1065. STOR 1 TO OK
  1066. ENDI
  1067. IF !(ITEM3)=VAR
  1068. STOR 1 TO OK
  1069. ENDI
  1070. IF !(ITEM4)=VAR
  1071. STOR 1 TO OK
  1072. ENDI
  1073. IF !(ITEM5)=VAR
  1074. STOR 1 TO OK
  1075. ENDI
  1076. IF !(ITEM6)=VAR
  1077. STOR 1 TO OK
  1078. ENDI
  1079. IF !(ITEM7)=VAR
  1080. STOR 1 TO OK
  1081. ENDI
  1082. IF !(ITEM8)=VAR
  1083. STOR 1 TO OK
  1084. ENDI
  1085. IF !(ITEM9)=VAR
  1086. STOR 1 TO OK
  1087. ENDI
  1088. IF !(ITEM10)=VAR
  1089. STOR 1 TO OK
  1090. ENDI
  1091. IF !(ITEM11)=VAR
  1092. STOR 1 TO OK
  1093. ENDI
  1094. IF !(ITEM12)=VAR
  1095. STOR 1 TO OK
  1096. ENDI
  1097. IF !(ITEM13)=VAR
  1098. STOR 1 TO OK
  1099. ENDI
  1100. IF !(ITEM14)=VAR
  1101. STOR 1 TO OK
  1102. ENDI
  1103. IF !(ITEM15)=VAR
  1104. STOR 1 TO OK
  1105. ENDI
  1106. STOR OK TO F2
  1107. ENDI
  1108. IF $(I3,1,1)=' '
  1109. STOR 1 TO F3
  1110. ELSE
  1111. STOR !(TRIM(I3)) TO VAR
  1112. STOR 0 TO OK
  1113. IF !(ITEM1)=VAR
  1114. STOR 1 TO OK
  1115. ENDI
  1116. IF !(ITEM2)=VAR
  1117. STOR 1 TO OK
  1118. ENDI
  1119. IF !(ITEM3)=VAR
  1120. STOR 1 TO OK
  1121. ENDI
  1122. IF !(ITEM4)=VAR
  1123. STOR 1 TO OK
  1124. ENDI
  1125. IF !(ITEM5)=VAR
  1126. STOR 1 TO OK
  1127. ENDI
  1128. IF !(ITEM6)=VAR
  1129. STOR 1 TO OK
  1130. ENDI
  1131. IF !(ITEM7)=VAR
  1132. STOR 1 TO OK
  1133. ENDI
  1134. IF !(ITEM8)=VAR
  1135. STOR 1 TO OK
  1136. ENDI
  1137. IF !(ITEM9)=VAR
  1138. STOR 1 TO OK
  1139. ENDI
  1140. IF !(ITEM10)=VAR
  1141. STOR 1 TO OK
  1142. ENDI
  1143. IF !(ITEM11)=VAR
  1144. STOR 1 TO OK
  1145. ENDI
  1146. IF !(ITEM12)=VAR
  1147. STOR 1 TO OK
  1148. ENDI
  1149. IF !(ITEM13)=VAR
  1150. STOR 1 TO OK
  1151. ENDI
  1152. IF !(ITEM14)=VAR
  1153. STOR 1 TO OK
  1154. ENDI
  1155. IF !(ITEM15)=VAR
  1156. STOR 1 TO OK
  1157. ENDI
  1158. STOR OK TO F3
  1159. ENDI
  1160. IF F1=1.AND.F2=1.AND.F3=1
  1161. ERAS
  1162. ? STR(#,3),NAME
  1163. STOR 1 TO HIT
  1164. STOR 'Y' TO Q
  1165. STOR 0 TO O1
  1166. DO WHILE O1=0
  1167. @ 22,0 SAY WTE GET Q
  1168. READ
  1169. IF !(Q)<>'Y'.AND.!(Q)<>'N'
  1170. @ 23,0 SAY INV
  1171. LOOP
  1172. ELSE
  1173. STOR 1 TO O1
  1174. ENDI
  1175. ENDD
  1176. IF !(Q)='Y'
  1177. STOR 'Y' TO PRA
  1178. ERAS
  1179. IF !(O) = 'D'
  1180. SET FORM TO SCRE
  1181. STOR -23 TO F 
  1182. ELSE
  1183. STOR ' ' TO PR
  1184. @ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
  1185. READ
  1186. STOR ' ' TO PR
  1187. STOR 0 TO F
  1188. SET FORM TO PRIN
  1189. ENDI
  1190. @  0,0  SAY 'Record #' 
  1191. @  0,10 SAY #
  1192. @  1,0  SAY 'Category'
  1193. IF TYPE = 1
  1194. @  1,10 SAY '1 Appetizers'
  1195. ENDI
  1196. IF TYPE = 2
  1197. @  1,10 SAY '2 Salads'
  1198. ENDI
  1199. IF TYPE = 3
  1200. @  1,10 SAY '3 Main Dishes'
  1201. ENDI
  1202. IF TYPE = 4
  1203. @  1,10 SAY '4 Vegetable Dishes'
  1204. ENDI
  1205. IF TYPE = 5
  1206. @  1,10 SAY '5 Breads'
  1207. ENDI
  1208. IF TYPE = 6
  1209. @  1,10 SAY '6 Desserts'
  1210. ENDI
  1211. IF TYPE = 7
  1212. @  1,10 SAY '7 Cookies'
  1213. ENDI
  1214. @  2,0   SAY 'Name' 
  1215. @  2,10  SAY  NAME
  1216. @  3,0   SAY 'Remarks' 
  1217. @  3,10  SAY  REMARKS
  1218. @  5,0   SAY 'Ingredients'
  1219. @  7,A+6 SAY  ITEM1
  1220. @  8,A+6 SAY  ITEM2
  1221. @  9,A+6 SAY  ITEM3
  1222. @ 10,A+6 SAY  ITEM4
  1223. @ 11,A+6 SAY  ITEM5
  1224. @ 12,A+6 SAY  ITEM6
  1225. @ 13,A+6 SAY  ITEM7
  1226. @ 14,A+6 SAY  ITEM8
  1227. @ 15,A+6 SAY  ITEM9
  1228. @ 16,A+6 SAY  ITEM10
  1229. @ 17,A+6 SAY  ITEM11
  1230. @ 18,A+6 SAY  ITEM12
  1231. @ 19,A+6 SAY  ITEM13
  1232. @ 20,A+6 SAY  ITEM14
  1233. @ 21,A+6 SAY  ITEM15
  1234. IF !(O)='D'
  1235. @ 23,0  SAY PRC GET PR
  1236. READ
  1237. ERAS
  1238. ENDI
  1239. @ F+23,0   SAY 'Instructions' 
  1240. @ F+25,A+6 SAY  INSTRUCT1
  1241. @ F+26,A+6 SAY  INSTRUCT2
  1242. @ F+27,A+6 SAY  INSTRUCT3
  1243. @ F+28,A+6 SAY  INSTRUCT4
  1244. @ F+29,A+6 SAY  INSTRUCT5
  1245. @ F+30,A+6 SAY  INSTRUCT6
  1246. @ F+31,A+6 SAY  INSTRUCT7
  1247. @ F+32,A+6 SAY  INSTRUCT8
  1248. @ F+33,A+6 SAY  INSTRUCT9
  1249. @ F+34,A+6 SAY  INSTRUCT10
  1250. @ F+36,0   SAY 'Preparation Time'
  1251. @ F+37,0   SAY '(Minutes)'
  1252. @ F+37,11  SAY  PREPTIME 
  1253. @ F+39,0   SAY 'Serving Hints'
  1254. @ F+40,A+6 SAY  HINT1
  1255. @ F+41,A+6 SAY  HINT2
  1256. IF !(O)='D'
  1257. IF SHOP='Y'
  1258. @ 23,0  SAY PRO GET PRA
  1259. ELSE
  1260. @ 23,0  SAY PRC GET PR
  1261. ENDI
  1262. READ
  1263. STOR ' ' TO PR
  1264. ENDI
  1265. IF !(O)='P'
  1266. EJECT
  1267. SET FORM TO SCRE
  1268. IF SHOP='Y'
  1269. ERAS
  1270. @ 12,A+9  SAY PRO GET PRA
  1271. READ
  1272. ENDI
  1273. ERAS
  1274. ENDI
  1275. IF !(SHOP)='Y'.AND.!(PRA)='Y'
  1276. SELE SECO
  1277. APPE BLANK
  1278. REPL S.NAME   WITH P.NAME
  1279. REPL S.ITEM1  WITH P.ITEM1
  1280. REPL S.ITEM2  WITH P.ITEM2
  1281. REPL S.ITEM3  WITH P.ITEM3
  1282. REPL S.ITEM4  WITH P.ITEM4
  1283. REPL S.ITEM5  WITH P.ITEM5
  1284. REPL S.ITEM6  WITH P.ITEM6
  1285. REPL S.ITEM7  WITH P.ITEM7
  1286. REPL S.ITEM8  WITH P.ITEM8
  1287. REPL S.ITEM9  WITH P.ITEM9
  1288. REPL S.ITEM10 WITH P.ITEM10
  1289. REPL S.ITEM11 WITH P.ITEM11
  1290. REPL S.ITEM12 WITH P.ITEM12
  1291. REPL S.ITEM13 WITH P.ITEM13
  1292. REPL S.ITEM14 WITH P.ITEM14
  1293. REPL S.ITEM15 WITH P.ITEM15
  1294. SELE PRIM
  1295. ENDI
  1296. ENDI
  1297. ENDI
  1298. SKIP
  1299. STOR I+1 TO I
  1300. STOR 'Y' TO CS
  1301. IF HIT=1
  1302. ERAS
  1303. STOR  0  TO HIT
  1304. STOR  0  TO O1
  1305. DO WHILE O1=0
  1306. ERAS
  1307. @ 12,A+15 SAY 'Continue Searching? ' GET CS
  1308. @ 13,A+15 SAY '     (Y or N)'
  1309. READ
  1310. ERAS
  1311. IF !(CS)<>'N'.AND.!(CS)<>'Y'
  1312. ERAS
  1313. @ 12,A+19 SAY INV
  1314. @ 13,A+13 SAY PRC GET PR
  1315. READ
  1316. STOR ' ' TO PR
  1317. ERAS
  1318. LOOP
  1319. ELSE
  1320. STOR 1 TO O1
  1321. LOOP
  1322. ENDI
  1323. ENDD
  1324. ENDI
  1325. IF !(CS)='N'
  1326. STOR '0' TO T
  1327. STOR 'N' TO C
  1328. ENDI
  1329. ENDD
  1330. STOR 1   TO I
  1331. IF T<>'0'
  1332. IF T<>' '.AND.TYPE<>VAL(T)
  1333. ERAS
  1334. @ 12,A+13 SAY ENDS
  1335. @ 13,A+13 SAY PRC GET PR
  1336. READ
  1337. STOR 'N' TO C
  1338. STOR ' ' TO PR
  1339. ERAS
  1340. ELSE
  1341. IF EOF
  1342. ERAS
  1343. @ 12,A+13 SAY END
  1344. @ 13,A+13 SAY PRC GET PR
  1345. READ
  1346. STOR ' ' TO PR
  1347. ERAS
  1348. STOR 'N' TO C
  1349. ENDI
  1350. ENDI
  1351. ENDI
  1352. ENDD
  1353. ENDD
  1354. ENDI
  1355. IF D='4'
  1356. STOR 0 TO M7
  1357. DO WHILE M7=0
  1358. ERAS
  1359. @  1,A+11 SAY 'Recipe Selection by Category'
  1360. @  2,A+16 SAY '& Preparation Time'
  1361. @  4,A+10 SAY 'microGOURMET Recipe Categories'
  1362. @  6,A+18 SAY '1 Appetizers'
  1363. @  7,A+18 SAY '2 Salads'
  1364. @  8,A+18 SAY '3 Main Dishes'
  1365. @  9,A+18 SAY '4 Vegetable Dishes'
  1366. @ 10,A+18 SAY '5 Breads'
  1367. @ 11,A+18 SAY '6 Desserts'
  1368. @ 12,A+18 SAY '7 Cookies'
  1369. @ 14,A+10 SAY 'Enter the number of your choice ' GET T
  1370. @ 15,A+10 SAY '  or enter 0 for previous menu'
  1371. @ 17,A+10 SAY CLB
  1372. READ
  1373. IF (T<'0'.OR.T>'7').AND.T<>' '
  1374. ERAS
  1375. @ 12,A+19 SAY INV
  1376. @ 13,A+13 SAY PRC GET PR
  1377. READ
  1378. STOR ' ' TO PR
  1379. LOOP
  1380. ENDI
  1381. IF T='0'
  1382. ERAS
  1383. @ 12,A+16 SAY 'One Moment Please...'
  1384. STOR 1 TO M7
  1385. LOOP
  1386. ENDI
  1387. IF T<>' '
  1388. FIND &T
  1389. STOR ' ' TO K
  1390. IF #=0
  1391. ERAS
  1392. @ 12,A+13 SAY NF  GET K
  1393. @ 13,A+13 SAY PRC
  1394. READ
  1395. STOR ' ' TO K
  1396. LOOP
  1397. ENDI
  1398. ELSE
  1399. GOTO TOP
  1400. ENDI
  1401. ERAS
  1402. STOR '   ' TO PREP
  1403. @ 12,A+10 SAY 'Maximum Preparation Time? ' GET PREP
  1404. @ 13,A+17 SAY '(in minutes)'
  1405. @ 15,A+11 SAY 'Recipes will be found which'
  1406. @ 16,A+11 SAY '  do not exceed this time'
  1407. READ
  1408. STORE VAL(PREP) TO PTIME
  1409. ERAS
  1410. ERAS
  1411. STOR 'Y' TO C
  1412. STOR 0 TO HIT
  1413. DO WHILE !(C)='Y'
  1414. STOR 1 TO I
  1415. DO WHILE I<21.AND.(TYPE=VAL(T).OR.T=' ').AND..NOT.EOF
  1416. IF PREPTIME <= PTIME
  1417. @ I,0  SAY STR(#,3)
  1418. @ I,4  SAY NAME
  1419. @ I,34 SAY PREPTIME
  1420. @ I,37 SAY 'min'
  1421. STOR 1 TO HIT
  1422. STOR I+1 TO I
  1423. ENDI 
  1424. SKIP
  1425. ENDD
  1426. IF T<>' '.AND.TYPE<>VAL(T).AND.HIT=0
  1427. ERAS
  1428. @ 12,A+13 SAY ENDS
  1429. @ 13,A+13 SAY PRC GET PR
  1430. READ
  1431. STOR 'N' TO C
  1432. STOR ' ' TO PR
  1433. ERAS
  1434. ELSE
  1435. STOR 1 TO I
  1436. STOR 0 TO K1
  1437. IF HIT=1
  1438. @ 22,0 SAY SNC GET K1
  1439. @ 23,0 SAY PRC
  1440. ELSE
  1441. ERAS
  1442. @ 12,A+13 SAY NF  GET K
  1443. @ 13,A+13 SAY PRC
  1444. ENDI
  1445. READ
  1446. IF K1=0
  1447. IF HIT=1
  1448. ERAS
  1449. STOR 'Y' TO CS
  1450. STOR  0 TO O1
  1451. DO WHILE O1=0
  1452. ERAS
  1453. @ 12,A+15 SAY 'Continue Searching? ' GET CS
  1454. @ 13,A+15 SAY '     (Y or N)'
  1455. READ
  1456. ERAS
  1457. IF !(CS)<>'N'.AND !(CS)<>'Y'
  1458. ERAS
  1459. @ 12,A+19 SAY INV
  1460. @ 13,A+13 SAY PRC GET PR
  1461. READ
  1462. ERAS
  1463. STOR ' ' TO PR
  1464. LOOP
  1465. ELSE
  1466. STOR 1 TO O1
  1467. ENDI
  1468. ENDD
  1469. IF !(CS)='N'
  1470. STOR 'N' TO C
  1471. ENDI
  1472. ENDI
  1473. ELSE
  1474. SET INDEX TO &RINDEX
  1475. STOR 0 TO Z
  1476. DO WHILE Z=0
  1477. STOR STR(K1,5) TO K2
  1478. FIND &K2
  1479. IF #=0
  1480. @ 21,0 SAY 'Recipe Not Found'
  1481. @ 22,0 SAY 'Select a number    ' GET K1
  1482. @ 23,0 SAY '                                        '
  1483. READ
  1484. LOOP
  1485. ELSE
  1486. STOR 1 TO Z
  1487. LOOP
  1488. ENDI
  1489. ENDD
  1490. STOR 'Y' TO PRA
  1491. ERAS
  1492. IF !(O) = 'D'
  1493. SET FORM TO SCRE
  1494. STOR -23 TO F 
  1495. ELSE
  1496. STOR ' ' TO PR
  1497. @ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
  1498. READ
  1499. STOR ' ' TO PR
  1500. STOR 0 TO F
  1501. SET FORM TO PRIN
  1502. ENDI
  1503. @  0,0  SAY 'Record #' 
  1504. @  0,10 SAY #
  1505. @  1,0  SAY 'Category'
  1506. IF TYPE = 1
  1507. @  1,10 SAY '1 Appetizers'
  1508. ENDI
  1509. IF TYPE = 2
  1510. @  1,10 SAY '2 Salads'
  1511. ENDI
  1512. IF TYPE = 3
  1513. @  1,10 SAY '3 Main Dishes'
  1514. ENDI
  1515. IF TYPE = 4
  1516. @  1,10 SAY '4 Vegetable Dishes'
  1517. ENDI
  1518. IF TYPE = 5
  1519. @  1,10 SAY '5 Breads'
  1520. ENDI
  1521. IF TYPE = 6
  1522. @  1,10 SAY '6 Desserts'
  1523. ENDI
  1524. IF TYPE = 7
  1525. @  1,10 SAY '7 Cookies'
  1526. ENDI
  1527. @  2,0   SAY 'Name' 
  1528. @  2,10  SAY  NAME
  1529. @  3,0   SAY 'Remarks' 
  1530. @  3,10  SAY  REMARKS
  1531. @  5,0   SAY 'Ingredients'
  1532. @  7,A+6 SAY  ITEM1
  1533. @  8,A+6 SAY  ITEM2
  1534. @  9,A+6 SAY  ITEM3
  1535. @ 10,A+6 SAY  ITEM4
  1536. @ 11,A+6 SAY  ITEM5
  1537. @ 12,A+6 SAY  ITEM6
  1538. @ 13,A+6 SAY  ITEM7
  1539. @ 14,A+6 SAY  ITEM8
  1540. @ 15,A+6 SAY  ITEM9
  1541. @ 16,A+6 SAY  ITEM10
  1542. @ 17,A+6 SAY  ITEM11
  1543. @ 18,A+6 SAY  ITEM12
  1544. @ 19,A+6 SAY  ITEM13
  1545. @ 20,A+6 SAY  ITEM14
  1546. @ 21,A+6 SAY  ITEM15
  1547. IF !(O)='D'
  1548. @ 23,0  SAY PRC GET PR
  1549. READ
  1550. ERAS
  1551. ENDI
  1552. @ F+23,0   SAY 'Instructions' 
  1553. @ F+25,A+6 SAY  INSTRUCT1
  1554. @ F+26,A+6 SAY  INSTRUCT2
  1555. @ F+27,A+6 SAY  INSTRUCT3
  1556. @ F+28,A+6 SAY  INSTRUCT4
  1557. @ F+29,A+6 SAY  INSTRUCT5
  1558. @ F+30,A+6 SAY  INSTRUCT6
  1559. @ F+31,A+6 SAY  INSTRUCT7
  1560. @ F+32,A+6 SAY  INSTRUCT8
  1561. @ F+33,A+6 SAY  INSTRUCT9
  1562. @ F+34,A+6 SAY  INSTRUCT10
  1563. @ F+36,0   SAY 'Preparation Time'
  1564. @ F+37,0   SAY '(Minutes)'
  1565. @ F+37,11  SAY  PREPTIME 
  1566. @ F+39,0   SAY 'Serving Hints'
  1567. @ F+40,A+6 SAY  HINT1
  1568. @ F+41,A+6 SAY  HINT2
  1569. IF !(O)='D'
  1570. IF SHOP='Y'
  1571. @ 23,0  SAY PRO GET PRA
  1572. ELSE
  1573. @ 23,0  SAY PRC GET PR
  1574. ENDI
  1575. READ
  1576. STOR ' ' TO PR
  1577. ENDI
  1578. IF !(O)='P'
  1579. EJECT
  1580. SET FORM TO SCRE
  1581. IF SHOP='Y'
  1582. ERAS
  1583. @ 12,A+9  SAY PRO GET PRA
  1584. READ
  1585. ENDI
  1586. ENDI
  1587. ERAS
  1588. IF !(SHOP)='Y'.AND.!(PRA)='Y'
  1589. SELE SECO
  1590. APPE BLANK
  1591. REPL S.NAME   WITH P.NAME
  1592. REPL S.ITEM1  WITH P.ITEM1
  1593. REPL S.ITEM2  WITH P.ITEM2
  1594. REPL S.ITEM3  WITH P.ITEM3
  1595. REPL S.ITEM4  WITH P.ITEM4
  1596. REPL S.ITEM5  WITH P.ITEM5
  1597. REPL S.ITEM6  WITH P.ITEM6
  1598. REPL S.ITEM7  WITH P.ITEM7
  1599. REPL S.ITEM8  WITH P.ITEM8
  1600. REPL S.ITEM9  WITH P.ITEM9
  1601. REPL S.ITEM10 WITH P.ITEM10
  1602. REPL S.ITEM11 WITH P.ITEM11
  1603. REPL S.ITEM12 WITH P.ITEM12
  1604. REPL S.ITEM13 WITH P.ITEM13
  1605. REPL S.ITEM14 WITH P.ITEM14
  1606. REPL S.ITEM15 WITH P.ITEM15
  1607. SELE PRIM
  1608. ENDI
  1609. SET INDEX TO &TINDEX
  1610. STOR 'Y' TO CS
  1611. STOR  0 TO O1
  1612. DO WHILE O1=0
  1613. ERAS
  1614. @ 12,A+15 SAY 'Continue Searching? ' GET CS
  1615. @ 13,A+15 SAY '     (Y or N)'
  1616. READ
  1617. ERAS
  1618. IF !(CS)<>'N'.AND !(CS)<>'Y'
  1619. ERAS
  1620. @ 12,A+19 SAY INV
  1621. @ 13,A+13 SAY PRC GET PR
  1622. READ
  1623. ERAS
  1624. STOR ' ' TO PR
  1625. LOOP
  1626. ELSE
  1627. STOR 1 TO O1
  1628. ENDI
  1629. ENDD
  1630. IF !(CS)='N'
  1631. STOR 'N' TO C
  1632. ELSE
  1633. IF T<>' '
  1634. FIND &T
  1635. ELSE
  1636. GOTO TOP
  1637. ENDI
  1638. ENDI
  1639. ENDI                         
  1640. IF EOF.AND.HIT=1
  1641. ERAS
  1642. @ 12,A+13 SAY END
  1643. @ 13,A+13 SAY PRC GET PR
  1644. READ
  1645. STOR ' ' TO PR
  1646. ERAS
  1647. STOR 'N' TO C
  1648. ENDI
  1649. IF HIT=0
  1650. STOR 'N' TO C
  1651. ENDI
  1652. STOR 0 TO HIT
  1653. ENDI
  1654. ENDD
  1655. ENDD
  1656. ENDI
  1657. ENDD
  1658. CASE M='3'
  1659. STOR 0 TO M4
  1660. DO WHILE M4=0
  1661. ERAS
  1662. @ 3,A+15  SAY 'microGOURMET Data Base'
  1663. @ 4,A+18  SAY 'Maintenance Menu'
  1664. @ 6,A+17  SAY '1 Add    Recipe(s)'
  1665. @ 7,A+17  SAY '2 Change Recipe(s)'
  1666. @ 8,A+17  SAY '3 Delete Recipe(s)'
  1667. @ 10,A+10 SAY 'Enter the number of your choice ' GET FM
  1668. @ 11,A+10 SAY '     or enter ? for help'
  1669. @ 12,A+10 SAY '  or enter 0 for previous menu'
  1670. READ
  1671. IF (FM<'0'.OR.FM>'3').AND.FM<>'?'
  1672. ERAS
  1673. @ 12,A+19 SAY INV
  1674. @ 13,A+13 SAY PRC GET PR
  1675. READ
  1676. STOR ' ' TO PR
  1677. LOOP
  1678. ENDI
  1679. IF FM='?'
  1680. ERAS
  1681. @  1,A+6 SAY '           microGOURMET Help'
  1682. @  2,A+6 SAY 'This menu is for data base  maintenance.'
  1683. @  3,A+6 SAY 'You can add, change  or  delete recipes.'
  1684. @  4,A+6 SAY 'dBASE II  commands  APPEND and  EDIT are' 
  1685. @  5,A+6 SAY 'are used here.  You  should be  familiar'
  1686. @  6,A+6 SAY 'with them before proceeding.  You should'
  1687. @  7,A+6 SAY 'also make sure to  install  dBASE II  so'
  1688. @  8,A+6 SAY 'that the number of  columns  matches the'
  1689. @  9,A+6 SAY 'number which you have on the screen.'
  1690. @ 11,A+6 SAY 'Details of using these  functions may be'
  1691. @ 12,A+6 SAY 'found in the  manual  under the  heading'
  1692. @ 13,A+6 SAY 'Data Base Maintenance.'
  1693. @ 15,A+6 SAY PRC GET PR
  1694. READ
  1695. STOR ' ' TO PR
  1696. ERAS
  1697. LOOP
  1698. ENDI
  1699. IF FM='0'
  1700. ERAS
  1701. @ 12,A+16 SAY 'One Moment Please...'
  1702. STOR 1 TO M4
  1703. LOOP
  1704. ENDI
  1705. IF FM='1'
  1706. STOR 'Y' TO ADR
  1707. ERAS
  1708. @ 11,A+9 SAY 'You must have space on the disk'
  1709. @ 12,A+9 SAY 'drive which has the recipes on it'
  1710. @ 14,A+9 SAY 'Do you want to continue? ' GET ADR
  1711. READ
  1712. IF !(ADR)='N'
  1713. LOOP
  1714. ELSE
  1715. SET COLON ON
  1716. SET BELL  ON
  1717. APPE
  1718. SET COLON OFF
  1719. SET BELL  OFF
  1720. LOOP
  1721. ENDI
  1722. ENDI
  1723. IF FM='2'
  1724. SET COLON ON
  1725. SET BELL  ON
  1726. ERAS 
  1727. EDIT
  1728. SET COLON OFF
  1729. SET BELL  OFF
  1730. LOOP
  1731. ENDI
  1732. IF FM='3'
  1733. SET COLON ON
  1734. SET BELL  ON
  1735. ERAS 
  1736. @ 1,0 SAY 'Press control-U to delete a record'
  1737. @ 2,0 SAY '(after entering the record number)'
  1738. @ 3,0 SAY ' '
  1739. EDIT
  1740. SET COLON OFF
  1741. SET BELL  OFF
  1742. STOR 'N' TO DER
  1743. ERAS
  1744. @ 11,A+8  SAY 'Delete the record(s) permanently? ' GET DER
  1745. @ 12,A+21 SAY '(Y or N)'
  1746. READ
  1747. IF !(DER)='Y'
  1748. ERAS
  1749. @ 11,A+9 SAY 'Please wait while the'
  1750. @ 12,A+9 SAY 'data base is updated'
  1751. PACK
  1752. ENDI
  1753. ENDI   
  1754. ENDD
  1755. ENDC
  1756. ENDD
  1757.